from django.shortcuts import render
# 导入图片验证码模块
from libs.captcha.captcha import captcha

# 进行redis的连接
from django_redis import get_redis_connection

from django.views import View
from django.http import HttpResponse

# Create your views here.
"""
前端:拼接一个url  然后给img  img会发起请求
    url=http://mp-meiduo-python.itheima.net/image/codes/ca732354-08d0-416d-823b-14b1d77746d2
    url=http://ip:port/image_codes/uuid/

后端:
    请求:     接收地址中的uuid
    
    业务逻辑:   生成图片验证码和图片二进制,通过redis保存图片验证码保存
    
    响应:      返回图片二进制
"""
class ImageCodeView(View):
    # 图形验证码
    def get(self, request, uuid):

        # 生成图片二进制并返回图片内容
        text,image = captcha.generate_captcha()

        # 进行redis的连接
        redis_cli = get_redis_connection('capt')

        # name time value
        # 保存数据到redis
        redis_cli.setex(uuid,100,text)

        # 返回图片二进制
        # 因为图片是二进制,我们不能返回JSON数据
        # content_type = 响应体的数据类型 image/jpeg
        return HttpResponse(image,content_type='image/jpeg')

